/*
 * app_log.c
 *
 *  Created on: 2023年6月29日
 *      Author: HXF
 *      Author: FJX
 */

#include <stdbool.h>
#include "app_log.h"
#include "softwareMultiTimer.h"
//static uint32_t testtime = 0;

bool _app_log_check_level(uint8_t level)
{
  bool ret = true;
  if(APP_LOG_LEVEL_FILTER_ENABLE) {
      if (level > APP_LOG_LEVEL_FILTER_THRESHOLD) {
          ret = false;
      }
  }
  return ret;
}

void _app_log_time(void)
{
  #if (APP_LOG_ENABLE == 1)
  //获取当前运行时间
  //testtime = READ_BU_RTC_COUNT();
  //输出当前时间
  //APP_PRINTF("[rtc:%lu] ",testtime++);
  //比如
  //APP_PRINTF("[%lums] ",testtime++);
  #endif
}

void DS_app_log_hexdump(uint8_t level,char *text,uint8_t *buf,uint32_t len)
{
  uint32_t i;
  if(_app_log_check_level(level)==false){
      return;
  }
  printf("%s\r\n\t\t",text);
  for(i=0; i<len; i++){
      printf("%02x",buf[i]);
      if((i+1)%16==0) printf("\r\n\t\t");
  }
  printf("\r\n");
}
static uint32_t tm = 0;
void DS_app_func_tm_in(void)
{
  tm=READ_SYS_RTC_COUNT();
}
void DS_app_func_tm_end(char *func)
{
  uint32_t cur_tm;
  cur_tm=READ_SYS_RTC_COUNT();
  DS_app_log_error("%s %ldus\r\n",func,(cur_tm-tm)*30);
}
